The present invention relates to computer networks in general, and more particularly to computer networks supporting Session Initiation Protocol (SIP).
SIP is used to establish, manage, and terminate computer-network based multimedia communications. In IBM® WebSphere® Application Server, (commercially available from International Business Machines Corporation, Armonk, N.Y.), such communications, including IP telephony, presence, and instant messaging, may be provided in one or more SIP application sessions. (IBM and WebSphere are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide.) Thus, for example, two different computer network-based conference calls would be represented by separate SIP application sessions. A SIP application server includes one or more SIP containers that invoke and terminate SIP application sessions, and manage requests and responses that are sent and received in the context of SIP application sessions. Each participant in a SIP application session is represented by a separate SIP session. Thus, for example, a SIP application session representing a computer network-based conference call having multiple participants would have multiple SIP sessions associated with it, where a separate SIP session is associated with each participant.
A large computer network-based system that manages hundreds or thousands of separate SIP application sessions may employ one or more clusters of SIP containers hosted by one or more SIP application servers, where each cluster is served by a SIP proxy server, and where SIP session data is not centrally managed. A SIP proxy server typically maintains a list of SIP containers with which the SIP proxy server is associated, where each SIP container is further identified by one or more unique logical names. A SIP request that does not identify its destination using the logical name of a particular SIP container is typically assigned by the SIP proxy server to a SIP container in a cluster in accordance with an assignment protocol, such as in accordance with a load balancing plan. Conversely, a SIP request that does identify its destination using the logical name of a particular SIP container is simply routed by the SIP proxy server to the indicated SIP container. However, a SIP request that does not identify its destination using the logical name of a particular SIP container may nevertheless include an identifier that relates to a particular SIP application session that is managed by a particular SIP container. For example, the SIP request may include a telephone number or other identifier associated with a particular conference call. Unfortunately, as the SIP proxy server is only able to route a SIP request based on whether or not the SIP request identifies its destination using the logical name of a particular SIP container, there is no guarantee that the SIP proxy server will route the SIP request to the SIP container that is managing the SIP application session associated with the conference call.